package com.example.interfacecall.domain;

import com.alibaba.fastjson.annotation.JSONField;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

public class ClaimsNoticeDto {
    /**
     * appKey
     */
    @NotBlank(message = "appKey不能为空！")
    @JSONField(name = "appkey")
    private String appKey;

    /**
     * 请求时间，格式:yyyy-MM-dd HH:mm:ss
     */
    @NotNull(message = "请求时间不能为空！")
    @JSONField(name = "timestamp")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date timestamp;

    /**
     * 业务流水号
     */
    @NotBlank(message = "业务流水号不能为空！")
    @JSONField(name = "applyno")
    private String applyNo;

    /**
     * 保函编号
     */
    @NotBlank(message = "保函编号不能为空！")
    @JSONField(name = "baohanno")
    private String baoHanNo;

    /**
     * 收款账号
     */
    @JSONField(name = "payeraccount")
    private String payerAccount;

    /**
     * 赔付金额
     */
    @JSONField(name = "payeramount")
    private BigDecimal payerAmount;

    /**
     * 理赔文件列表，json数组格式[{“fileurl”:”xxxx”},{“fileurl”:”xxx”}]
     */
    @JSONField(name = "filelist")
    private String fileList;

    /**
     * 理赔联系人
     */
    @NotBlank(message = "理赔联系人不能为空！")
    @JSONField(name = "applyusername")
    private String applyUserName;

    /**
     * 理赔联系人电话
     */
    @NotBlank(message = "理赔联系人电话不能为空！")
    @JSONField(name = "applyuserphone")
    private String applyUserPhone;

    /**
     * 理赔原因
     */
    @JSONField(name = "reason")
    private String reason;

    /**
     * 报文签名
     */
    @NotBlank(message = "报文签名不能为空！")
    @JSONField(name = "sign")
    private String sign;
}
